博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信小程序的图片懒加载
阅读量:5348 次
发布时间:2019-06-15

本文共 1366 字,大约阅读时间需要 4 分钟。

在普通的web页面当中,我们都知道图片懒加载可以提升浏览器的加载速度。原理是图片用空或者占位图片进行显示,当屏幕移动到图片位置的时候,再把图片的地址换成它的地址。那么,在小程序当中呢,最近老大让看一下微信小程序的优化方面,图片是很吃资源的一项,所以我把矛头指向了懒加载:

首先写代码之前一定要理清楚思路,我想的基础是懒加载的思路,首先设立一个数组都为false,让图片的高度和屏幕滚动的高度进行比较,当到达这个点的时候,数组里面对应的false变成true。当数组的false变成true的时候,我们让图片进行显示就可以啦。当然,首先我们需要判断一下首屏能容纳多少个图片,然后把他们显示出来。好,上代码:

.wxml:

 .wxss:

 

/* pages/test/test.wxss */image {  opacity: 0;  width: 100%;  height: 300px;  transition: opacity 0.4s linear 0.4s;}.Action {  opacity: 1;}

  .js:

Page({  data: {    damoHeight: '150',//demo高度    imgUrls: [//图片地址      {        url: 'http://g.ydbcdn.com/site/imgs/1.png'      }, {        url: 'http://g.ydbcdn.com/site/imgs/2.png'      },      {        url: 'http://g.ydbcdn.com/site/imgs/3.png'      }, {        url: 'http://g.ydbcdn.com/site/imgs/4.png'      }    ],    arry: [false, false, false, false],  },  onPageScroll: function (res) {    var _this = this;    var str = parseInt(res.scrollTop / _this.data.damoHeight);    _this.data.arry[str] = true;    _this.setData({      arry: _this.data.arry    })  },  onLoad: function () {    let _this = this;    let num = Math.ceil(wx.getSystemInfoSync().windowHeight / 300);    for (let i = 0; i < num; i++) {      _this.data.arry[i] = true;    };    this.setData({      arry: _this.data.arry    })  }})

  不会的可以加博主进行一起探究

转载于:https://www.cnblogs.com/mmykdbc/p/8932202.html

你可能感兴趣的文章
《分布式服务架构:原理、设计于实战》总结
查看>>
java中new一个对象和对象=null有什么区别
查看>>
字母和数字键的键码值(keyCode)
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>
Spring mvc初学
查看>>
有意思的代码片段
查看>>
C8051开发环境
查看>>
VTKMY 3.3 VS 2010 Configuration 配置
查看>>
01_1_准备ibatis环境
查看>>
windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决
查看>>
JavaScript中的BOM和DOM
查看>>
360浏览器兼容模式 不能$.post (不是a 连接 onclick的问题!!)
查看>>
spring注入Properties
查看>>
【BZOJ-1055】玩具取名 区间DP
查看>>
Bit Twiddling Hacks
查看>>
LeetCode : Reverse Vowels of a String
查看>>
时间戳与日期的相互转换
查看>>
jmeter(五)创建web测试计划
查看>>
python基本数据类型
查看>>
1305: [CQOI2009]dance跳舞 - BZOJ
查看>>